﻿using Factory.EquipmentManagement.CheckMaintenanceItems.Dto;
using Factory.MasterData.Materials.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;

namespace Factory.EquipmentManagement.CheckMaintenanceItems
{
    /// <summary>
    /// 点检保养项目接口
    /// </summary>
    public interface ICheckMaintenanceItemAppService : IApplicationService
    {
        /// <summary>
        /// 添加点检保养项目服务
        /// </summary>
        /// <param name="checkMaintenanceItemDto">点检保养项目服务Dto</param>
        /// <returns>返回结果</returns>
        Task<int> Insert(CheckMaintenanceItemDto checkMaintenanceItemDto);
        /// <summary>
        /// 分页显示点检保养项目服务
        /// </summary>
        /// <param name="pageIndex">当前页</param>
        /// <param name="pageSize">页容量</param>
        /// <param name="itemCode">项目编号</param>
        /// <returns>返回结果</returns>
        Task<PageResult> PageList(int pageIndex, int pageSize, string? itemCode);
        /// <summary>
        /// 删除点检保养项目服务
        /// </summary>
        /// <param name="id">主键</param>
        /// <returns>返回结果</returns>
        Task<int> Deleted(string id);
        /// <summary>
        /// 编辑重复性验证
        /// </summary>
        /// <param name="itemCode">点检保养项目编码</param>
        /// <param name="id">主键</param>
        /// <returns>返回结果</returns>
        Task<int> UpdateRepeatability(string itemCode, int id);
        /// <summary>
        /// 编辑点检保养项目服务
        /// </summary>
        /// <param name="checkMaintenanceItemDto">点检保养项目服务Dto</param>
        /// <returns>返回结果</returns>
        Task<int> Update(CheckMaintenanceItemDto checkMaintenanceItemDto);
    }
}
